package com.wxd.framework.service;

import java.util.List;

import com.wxd.framework.common.Criteria;
import com.wxd.framework.common.page.Pagination;
import com.wxd.framework.entity.Role;
import com.wxd.framework.entity.User;
import com.wxd.framework.vo.TreeItem;

public interface RoleService extends BaseService {

	/**
	 * 停用/恢复一个角色
	 * @param id
	 * @param isStoped
	 * @param updater
	 */
	void stopOneRole(String id, boolean isStoped, String updater);
	
	/**
	 * 根据角色Id，获取菜单列表
	 * @param id
	 * @return
	 */
	List<TreeItem> getMenuTreeByRoleId(String roleId);
	/**
	 * 保存角色的菜单权限
	 * @param roleId
	 * @param menuIds
	 */
	void saveRoleMenuForRole(String roleId, String menuIds);
	
	/**
	 * 查找角色下的所有用户
	 * @param roleId
	 * @return
	 */
	List<User> getUsersByRoleId(String roleId);
	
	Role addOneRole(Role role);
	void deleteOneRole(String id);
	void editOneRole(Role role);
	Role getOneRoleById(String id);		
	Pagination getRolesInPage(Criteria criteria);
	
}
